// 切片状态接口
export interface IFileStatusStr {
  wait: string;
  uploading: string;
  success: string;
  error: string;
  secondPass: string;
  pause: string;
  resume: string;
}

// 切片接口
export interface IChunkList {
  file: Blob;
}

export interface IChunkLists {
  index: number;
  hash: string;
  chunk: IChunkList;
  size: number;
  uploaded: boolean;
  progress: number;
  status: string;
}

// 文件对象
export interface IFileObj {
  chunkList: IChunkLists[];
  raw: File;
  hashProgress: number;
  name: string;
  percentage: number;
  size: number;
  status: string;
  uid: number;
  uploadProgress: number;
  hash: string;
  fakeUploadProgress: number;
}

export interface IChunkReq {
  chunk: any;
  index: number;
}

export interface IRequestDecorator {
  maxLimit: number; // 最大并发数
  currentConcurrent: number; // 当前的并发数
  requestQueue: any; // 请求队列 // 如果当前请求并发数量已经超过 最大并发数量，加入请求队列中
}
